package com.mystudy.leetcode.problem.tree.p_404;

import com.mystudy.leetcode.base.TreeNode;

/**
 * @author 周志龙
 * @Email 15216876513@163.com
 * @Date on 2019/7/25 23:20
 * @Description 左叶子之和
 */
public class Solution {

    public int sumOfLeftLeaves(TreeNode root) {
        //如果找出所有左叶子，首先叶子节点左右子树都为null,然后如果一个叶子节点为左叶子，那么它必然是某个节点的左叶子。
        if(root == null){
            return 0;
        }
        sumOfLeft(root);
        return sum;
    }
    int sum = 0;
    private void sumOfLeft(TreeNode node){
        if(node == null){
            return;
        }
        if(node.left!=null){
            TreeNode leftNode = node.left;
            if(leftNode.left==null && leftNode.right == null){
                sum =sum+leftNode.val;
            }
        }
        sumOfLeft(node.left);
        sumOfLeft(node.right);

    }

}
